package main

import (
	"log"
	"xinmanpan/app/models"
	"xinmanpan/app/routers"
	"xinmanpan/config"
)

// @title 示例 API 文档
// @version 1.0
// @description 这是一个使用 Gin 框架的示例 API 文档。
// @termsOfService http://example.com/terms/

// @contact.name API 支持
// @contact.url http://example.com/support
// @contact.email support@example.com

// @license.name Apache 2.0
// @license.url http://www.apache.org/licenses/LICENSE-2.0.html

// @host localhost:8888
// @BasePath /api/v1

func main() {
	// 加载配置
	config.LoadConfig()

	// 初始化数据库
	db := models.InitDB()
	models.AutoMigrate()
	err := models.InitSmtpSetting()
	if err != nil {
		log.Fatalf("Failed to initialize SMTP setting: %v", err)
	}
	// 设置路由
	r := routers.SetupRouter(db)

	// 启动服务器
	port := ":" + config.Config.Server.Port
	log.Printf("Starting server on port %s...", port)
	if err := r.Run(port); err != nil {
		log.Fatalf("Failed to start server: %v", err)
	}

}
